@echo off
setlocal

if exist .\build\install (
    rmdir /s /q .\build\install
)

cmake -B build ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DAIMRT_INSTALL=ON ^
    -DCMAKE_INSTALL_PREFIX="./build/install" ^
    -DAIMRT_BUILD_TESTS=OFF ^
    -DAIMRT_BUILD_EXAMPLES=ON ^
    -DAIMRT_BUILD_DOCUMENT=OFF ^
    -DAIMRT_BUILD_PROTOCOLS=ON ^
    -DAIMRT_BUILD_RUNTIME=ON ^
    -DAIMRT_BUILD_CLI_TOOLS=ON ^
    -DAIMRT_BUILD_PYTHON_RUNTIME=ON ^
    -DAIMRT_USE_FMT_LIB=ON ^
    -DAIMRT_BUILD_WITH_PROTOBUF=ON ^
    -DAIMRT_USE_LOCAL_PROTOC_COMPILER=OFF ^
    -DAIMRT_USE_PROTOC_PYTHON_PLUGIN=OFF ^
    -DAIMRT_BUILD_WITH_ROS2=OFF ^
    -DAIMRT_BUILD_NET_PLUGIN=ON ^
    -DAIMRT_BUILD_MQTT_PLUGIN=OFF ^
    -DAIMRT_BUILD_ZENOH_PLUGIN=OFF ^
    -DAIMRT_BUILD_ICEORYX_PLUGIN=OFF ^
    -DAIMRT_BUILD_ROS2_PLUGIN=OFF ^
    -DAIMRT_BUILD_RECORD_PLAYBACK_PLUGIN=ON ^
    -DAIMRT_BUILD_TIME_MANIPULATOR_PLUGIN=ON ^
    -DAIMRT_BUILD_PARAMETER_PLUGIN=ON ^
    -DAIMRT_BUILD_LOG_CONTROL_PLUGIN=ON ^
    -DAIMRT_BUILD_SERVICE_INTROSPECTION_PLUGIN=OFF ^
    -DAIMRT_BUILD_TOPIC_LOGGER_PLUGIN=OFF ^
    -DAIMRT_BUILD_OPENTELEMETRY_PLUGIN=OFF ^
    -DAIMRT_BUILD_GRPC_PLUGIN=OFF ^
    -DAIMRT_BUILD_ECHO_PLUGIN=OFF ^
    -DAIMRT_BUILD_PROXY_PLUGIN=ON ^
    -DAIMRT_BUILD_PYTHON_PACKAGE=ON ^
    %*

if %errorlevel% neq 0 (
    echo cmake failed
    exit /b 1
)

cmake --build build --config Release --target install --parallel %NUMBER_OF_PROCESSORS%

if %errorlevel% neq 0 (
    echo build failed
    exit /b 1
)

endlocal
